home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
pctj8506.arc
/
GIBSON.COB
< prev
next >
Wrap
Text File
|
1986-09-14
|
64KB
|
1,505 lines
IDENTIFICATION DIVISION.
PROGRAM-ID. GIBSON.
* THIS VERSION FOR REALIA & MBP COBOLS.
* WILL NOT COMPILE WITH RMCOBOL.
* MAY NEED CHANGES (ESP. SELECT STATEMENTS) FOR OTHERS.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-PC.
OBJECT-COMPUTER. IBM-PC.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT BLOCK-FILE ASSIGN TO "A:BLOCK.DAT"
RESERVE 2 AREAS.
SELECT RECORD-FILE ASSIGN TO "A:RECORD.DAT"
RESERVE 2 AREAS.
SELECT AUDIT-FILE ASSIGN TO "B:AUDIT.NEW".
DATA DIVISION.
FILE SECTION.
FD BLOCK-FILE
BLOCK CONTAINS 1000 CHARACTERS
RECORD CONTAINS 100 CHARACTERS
LABEL RECORDS ARE STANDARD
DATA RECORD IS BLOCK-REC.
01 BLOCK-REC.
03 FILLER PICTURE X(100).
FD RECORD-FILE
BLOCK CONTAINS 1000 CHARACTERS
RECORD CONTAINS 1000 CHARACTERS
LABEL RECORDS ARE STANDARD
DATA RECORD IS RECORD-REC.
01 RECORD-REC.
03 FILLER PICTURE X(1000).
FD AUDIT-FILE
LABEL RECORDS ARE OMITTED
DATA RECORD IS AUDIT-REC.
01 AUDIT-REC.
03 FILLER PICTURE X(1).
03 AUDIT-ROUTINE-NAME PICTURE X(30).
03 AUDIT-COUNTER PICTURE ZZZ,ZZZ,ZZZ.
03 FILLER PICTURE X(8).
03 AUDIT-START-TIME PICTURE X(20).
03 AUDIT-STOP-TIME PICTURE X(20).
03 AUDIT-ELAPSED-SECS PICTURE Z(4).99.
03 FILLER PICTURE X(8).
03 AUDIT-MICS-PER-ITER PICTURE ZZ,ZZZ,ZZZ.
03 FILLER PICTURE X(17).
WORKING-STORAGE SECTION.
*
* GIBSON MIX DATA AREAS
*
77 GIBTMPND PICTURE S9(6) USAGE IS DISPLAY.
77 GIBTMPNP PICTURE S9(6) USAGE IS COMPUTATIONAL.
77 GIBA6ND PICTURE S9(6) USAGE IS DISPLAY
VALUE IS +27.
77 GIBB6ND PICTURE S9(6) USAGE IS DISPLAY
VALUE IS +727.
77 GIBA20A PICTURE X(20) USAGE IS DISPLAY
VALUE IS ALL "*".
77 GIBB20A PICTURE X(20) USAGE IS DISPLAY
VALUE IS ALL SPACES.
77 GIBA6NP PICTURE S9(6) USAGE IS COMPUTATIONAL
VALUE IS +27.
77 GIBB6NP PICTURE S9(6) USAGE IS COMPUTATIONAL
VALUE IS +727.
77 GIBA6A PICTURE X(6) USAGE IS DISPLAY
VALUE IS ALL "*".
77 GIBB6A PICTURE X(6) USAGE IS DISPLAY
VALUE IS ALL SPACES.
77 GIBC6A PICTURE X(6) USAGE IS DISPLAY
VALUE IS ALL SPACES.
77 GIBA7ND PICTURE 9(7) USAGE IS DISPLAY
VALUE IS 0727747.
77 GIBB6NE PICTURE 9,999,99 USAGE IS DISPLAY.
*
* S-PROFILE DATA AREAS
*
77 I PIC S99 COMP VALUE +13.
01 CARD-REC.
03 C-CALC-COUNTER PIC 9(9).
03 FILLER PIC X.
03 C-IO-COUNTER PIC 9(9).
03 FILLER PIC X.
03 C-DELAY-COUNTER PIC 9(9) VALUE ZERO.
03 FILLER PIC X VALUE SPACE.
03 C-ARH-SITE PIC X(42) VALUE SPACE.
03 FILLER PIC X(8) VALUE SPACE.
01 DUMMY-1.
02 A10 PIC A(10) VALUE SPACES.
02 E5 PIC ZZZ.9.
02 N999V PIC S999V USAGE COMP.
02 N999V9 PIC S999V9 USAGE COMP.
02 X1 PIC X.
02 X6 PIC X(6).
02 X7 PIC X(7).
02 X10 PIC X(10).
02 DUMMY-2.
03 Y7 PIC X(7) VALUE "ABCDE23".
03 Y1 PIC X VALUE "Y".
02 DUMMY-3 REDEFINES DUMMY-2.
03 A4 PIC A(4).
03 X4 PIC X(4).
02 DUMMY-4 OCCURS 20 TIMES.
03 EI5 PIC ZZZ.9.
03 NI999V PIC S999V USAGE COMP.
03 NI999V9 PIC S999V9 USAGE COMP.
03 NI9999V PIC S9999V USAGE COMP.
03 XI1 PIC X.
*
* AUDIT FILE DATA AREAS
*
01 AUDIT-REC-HOLD.
03 FILLER PICTURE X(132).
01 AUDIT-CONTROL.
03 LINE-LIMIT PICTURE 9(2) VALUE 54.
03 LINE-COUNT PICTURE 9(2) VALUE 90.
03 PAGE-COUNT PICTURE 9(2) VALUE ZERO.
****************************************************************
* *
* USE THESE DECLARES WHEN TIME IS RETURNED AS HHMMSS *
* *
****************************************************************
* 03 STOP-TIME PICTURE 9(6).
* 03 START-TIME PICTURE 9(6).
* 03 TIME-CHECK REDEFINES START-TIME
* PICTURE 9(6).
* 03 TIME-TENTHS REDEFINES START-TIME
* PICTURE 9(6).
* 03 TIME-CONV REDEFINES START-TIME.
* 05 HRS PICTURE 9(2).
* 05 MIN PICTURE 9(2).
* 05 SEC PICTURE 9(2).
* 03 TENTHS PICTURE V99 VALUE ZERO.
* 03 AUDIT-TIME.
* 05 EDITED-TIME PICTURE 99B99B99.
****************************************************************
* *
* USE THESE DECLARES WHEN TIME IS RETURNED AS HHMMSS.HH *
* *
****************************************************************
03 STOP-TIME PICTURE 9(8).
03 START-TIME PICTURE 9(8).
03 TIME-CHECK REDEFINES START-TIME
PICTURE 9(8).
03 TIME-TENTHS REDEFINES START-TIME
PICTURE 9(6)V99.
03 TIME-CONV REDEFINES START-TIME.
05 HRS PICTURE 9(2).
05 MIN PICTURE 9(2).
05 SEC PICTURE 9(2).
05 TENTHS PICTURE V9(2).
03 AUDIT-TIME.
05 EDITED-TIME PICTURE 99B99B99.99.
****************************************************************
03 AUDIT-SECONDS PIC 9(6)V99.
03 START-SECONDS PIC 9(6)V99.
03 MICROSECONDS PICTURE 9(8).
03 AUDIT-MESSAGE.
05 ELAPSED-SECS PICTURE 9(4).99.
05 FILLER PICTURE X(8) VALUE " SECONDS".
****************************************************************
* *
* USE THESE DECLARES WHEN DATE IS RETURNED AS YYMMDD *
* *
****************************************************************
* 03 ACCEPTED-DATE.
* 05 AYR PICTURE 99.
* 05 FILLER PICTURE X.
* 05 AMO PICTURE 99.
* 05 FILLER PICTURE X.
* 05 ADA PICTURE 99.
****************************************************************
* *
* USE THESE DECLARES WHEN DATE IS RETURNED AS MMDDYY *
* *
****************************************************************
03 ACCEPTED-DATE.
05 AMO PICTURE 99.
05 FILLER PICTURE X.
05 ADA PICTURE 99.
05 FILLER PICTURE X.
05 AYR PICTURE 9999.
01 AUDIT-REPORT-HDR.
03 FILLER PICTURE X(1) VALUE SPACE.
03 ARH-DATE PICTURE X(8) VALUE " / / ".
03 ARH-EDITED-DATE REDEFINES ARH-DATE.
05 MO PICTURE 99.
05 FILLER PICTURE X.
05 DA PICTURE 99.
05 FILLER PICTURE X.
05 YR PICTURE 99.
03 FILLER PICTURE X(2) VALUE SPACE.
03 ARH-TIME PICTURE X(25).
03 ARH-BEG-END PICTURE X(25) VALUE
" BEGINNING OF SESSION ON ".
03 ARH-SITE PICTURE X(71).
01 AUDIT-PAGE-HDR.
03 FILLER PICTURE X(1) VALUE SPACE.
03 APH-SITE PICTURE X(80).
03 APH-DATE PICTURE X(15).
03 FILLER PICTURE X(5) VALUE "PAGE".
03 APH-PAGE PICTURE Z(2).
01 AUDIT-COLUMN-HDR-1.
03 FILLER PICTURE X(90) VALUE SPACE.
03 FILLER PICTURE X(42) VALUE
"ELAPSED MICS. PER".
01 AUDIT-COLUMN-HDR-2.
03 FILLER PICTURE X(31) VALUE SPACE.
03 FILLER PICTURE X(59) VALUE
" COUNTER START TIME STOP TIME".
03 FILLER PICTURE X(42) VALUE
"SECONDS ITERATION".
*
* GENERAL DATA AREAS.
*
01 MISC-W-S.
03 FUNCTION PICTURE 9(2) VALUE 0.
03 DELAY-COUNTER PICTURE 9(9) VALUE 0.
03 COUNTER PICTURE 9(9) VALUE 0.
03 CALC-COUNTER PICTURE 9(9) VALUE 0.
03 IO-COUNTER PICTURE 9(9) VALUE 0.
03 ITER-COUNTER PICTURE 9(9) VALUE 0.
03 DELAY-WORK PICTURE 9(9) VALUE 0.
03 COUNTER-WORK PICTURE 9(9) VALUE 0.
*
* COMMAND TIMING DATA AREAS
*
01 COMMAND-TIMING-TABLE-VALUES.
03 FILLER PIC X(40) VALUE
" CTL LOOP FOR COMMAND TIMINGS 00Y ".
03 FILLER PIC X(40) VALUE
" 'GO TO XX' 06 ".
03 FILLER PIC X(40) VALUE
" 'MOVE SPACE TO XT1 (I)' 01 ".
03 FILLER PIC X(40) VALUE
" 'MOVE SPACES TO X7' 02 ".
03 FILLER PIC X(40) VALUE
" 'MOVE N999V9 TO E5' 02 ".
03 FILLER PIC X(40) VALUE
" 'MOVE NI999V9 (I) TO EI5 (I)' 01 ".
03 FILLER PIC X(40) VALUE
" 'MOVE ... TO NI9999V (I)' 01 ".
03 FILLER PIC X(40) VALUE
" 'MOVE A10 TO X10' 14 ".
03 FILLER PIC X(40) VALUE
" 'MOVE 1 TO N999V' 01 ".
03 FILLER PIC X(40) VALUE
" 'MOVE 'A' TO X1' 06 ".
03 FILLER PIC X(40) VALUE
" 'MOVE 'ABCDEF' TO X6' 01 ".
03 FILLER PIC X(40) VALUE
" 'IF Y7 = SPACES GO TO S1' 01 ".
03 FILLER PIC X(40) VALUE
" 'IF A4 = X4 GO TO S1' 17 ".
03 FILLER PIC X(40) VALUE
" 'IF N999V = 1 NEXT SENTENCE' 03 ".
03 FILLER PIC X(40) VALUE
" 'IF Y1 = 'A' GO TO S1' 08 ".
03 FILLER PIC X(40) VALUE
" 'IF X6 = 'ABCDEF' NEXT SENT' 24 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP ' ADD 1 TO N999V' 00Y ".
03 FILLER PIC X(40) VALUE
" 'ADD 1 TO N999V' 07 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP 'COMPUTE NI999V9 (I) 00Y ".
03 FILLER PIC X(40) VALUE
" 'COMPUTE NI999V9 (I) = ...' 01 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP 'COMPUTE N999V9 00Y ".
03 FILLER PIC X(40) VALUE
" 'COMPUTE N999V9 = N999V + ...'01 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP FOR PERFORM STMTS 00Y ".
03 FILLER PIC X(40) VALUE
" 'PERFORM XX' 03 ".
03 FILLER PIC X(40) VALUE
" CALCULATED S-PROFILE 00 ".
03 FILLER PIC X(40) VALUE
" (INITIALIZE FOR MISC COMMANDS)00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP 'ADD 1 TO BIN-COUNT' 00Y ".
03 FILLER PIC X(40) VALUE
" 'ADD 1 TO BIN-COUNT' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP 'ADD1 TO DEC-COUNT' 00Y ".
03 FILLER PIC X(40) VALUE
" 'ADD 1 TO DEC-COUNT' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP 'ADD BIN-ONE TO BIN-C00Y ".
03 FILLER PIC X(40) VALUE
" 'ADD BIN-ONE TO BIN-COUNT' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP 'ADD DEC-ONE TO DEC-C00Y ".
03 FILLER PIC X(40) VALUE
" 'ADD DEC-ONE TO DEC-COUNT' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP MOVE TO INDEXED ITEM 00Y ".
03 FILLER PIC X(40) VALUE
" 'MOVE X1 TO XX (SUBSCRIPT)' 00 ".
03 FILLER PIC X(40) VALUE
" 'MOVE X1 TO XX (INDEX)' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP SET INDEX UP COMMANDS00Y ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX UP BY 1' 00 ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX UP BY BIN-ONE' 00 ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX UP BY DEC-ONE' 00 ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX UP BY PACK-ONE' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP MOVE TO INDEXED ITEMS00Y ".
03 FILLER PIC X(40) VALUE
" 'MOVE X1 TO 5X (SUBSCRIPT)' 00 ".
03 FILLER PIC X(40) VALUE
" 'MOVE X1 TO 5X (INDEX)' 00 ".
03 FILLER PIC X(40) VALUE
" CTL LOOP SET INDEX-5X UP 00Y ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX-5X UP BY 1' 00 ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX-5X UP BY BIN-ONE' 00 ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX-5X UP BY DEC-ONE' 00 ".
03 FILLER PIC X(40) VALUE
" 'SET INDEX-5X UP BY PACK-ONE' 00 ".
03 FILLER PIC X(40) VALUE
" CONTROL LOOP - MISC COMMANDS 00Y ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX = 1 NEXT SENT' 00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX = BIN-ONE NEXT SENT'00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX = DEC-ONE NEXT SENT'00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX = PACK-ONE NEXT SNT'00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX-5X = 1 NEXT SENT' 00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX-5X = BIN-ONE NEXT' 00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX-5X = DEC-ONE NEXT' 00 ".
03 FILLER PIC X(40) VALUE
" 'IF INDEX-5X = PACK-ONE NEXT' 00 ".
03 FILLER PIC X(40) VALUE
" 'DECIMAL COMPUTE C = A + B' 00 ".
03 FILLER PIC X(40) VALUE
" 'DECIMAL ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'BINARY ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'PACKED DECIMAL ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'PACKED SIGNED DEC ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'TRAILING SIGN ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'FLOATING-POINT ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'DECIMAL COMPUTE C = A * B' 00 ".
03 FILLER PIC X(40) VALUE
" 'DECIMAL MULTIPLICATION' 00 ".
03 FILLER PIC X(40) VALUE
" 'BINARY MULTIPLICATION' 00 ".
03 FILLER PIC X(40) VALUE
" 'PACKED DECIMAL MULT' 00 ".
03 FILLER PIC X(40) VALUE
" 'PACKED SIGNED DEC MULT' 00 ".
03 FILLER PIC X(40) VALUE
" 'TRAILING SIGN MULT' 00 ".
03 FILLER PIC X(40) VALUE
" 'FLOATING-POINT MULT' 00 ".
03 FILLER PIC X(40) VALUE
" 'DECIMAL COMPUTE C = A / B' 00 ".
03 FILLER PIC X(40) VALUE
" 'DECIMAL DIVISION' 00 ".
03 FILLER PIC X(40) VALUE
" 'BINARY DIVISION' 00 ".
03 FILLER PIC X(40) VALUE
" 'PACKED DECIMAL DIVISION' 00 ".
03 FILLER PIC X(40) VALUE
" 'PACKED SIGNED DEC DIV' 00 ".
03 FILLER PIC X(40) VALUE
" 'TRAILING SIGN DIVISION' 00 ".
03 FILLER PIC X(40) VALUE
" 'FLOATING-POINT DIVISION' 00 ".
03 FILLER PIC X(40) VALUE
" 'MIXED-USAGE ADDITION' 00 ".
03 FILLER PIC X(40) VALUE
" 'MOVE TO ZERO-SUPPRESSED' 00 ".
03 FILLER PIC X(40) VALUE
" 'MOVE TO ALPHANUMERIC' 00 ".
03 FILLER PIC X(40) VALUE
" 'MOVE TO A/N, REPL LDG ZEROS' 00 ".
01 COMMAND-TIMING-TABLE REDEFINES COMMAND-TIMING-TABLE-VALUES.
03 COMMAND-TIMING-ITEM OCCURS 84 TIMES.
05 COMMAND-TIMING-DESC PIC X(31).
05 CT-S-PROFILE-COUNT PIC 9(02).
05 CT-CONTROL-LOOP-FLAG PIC X(1).
05 CT-COUNTER-FACTOR-FIELD.
07 CT-COUNTER-FACTOR PIC 99V9999.
01 COMMAND-TIMING-WORK-AREA.
03 CT-TEST-NBR PIC 9(2).
03 CT-CONTROL-TIME PIC 9(6)V99.
03 CT-CALCULATED-S-PROFILE PIC 9(8).
03 CT-NBR-OF-TESTS PIC 9(2) VALUE 84.
03 BIN-COUNT PIC S9(8) COMP-5.
03 BIN-ZERO PIC S9(8) VALUE ZERO COMP-5.
03 BIN-ONE PIC S9(8) VALUE +1 COMP-5.
03 BIN-10K PIC S9(8) VALUE +10000 COMP-5.
03 BIN-A PIC S9(8) VALUE +6 COMP-5.
03 BIN-B PIC S9(8) VALUE +2 COMP-5.
03 BIN-C PIC S9(8) COMP-5.
03 DEC-COUNT PIC 9(8).
03 DEC-ONE PIC 9(8) VALUE 1.
03 DEC-123V4 PIC 9(3)V9 VALUE 123.4.
03 DEC-1K PIC 9(8) VALUE 1000.
03 DEC-10K PIC 9(8) VALUE 10000.
03 DEC-A PIC 9(4) VALUE 6.
03 DEC-B PIC 9(4) VALUE 2.
03 DEC-C PIC 9(4).
03 SDEC-A PIC S9(4) VALUE +6.
03 SDEC-B PIC S9(4) VALUE -2.
03 SDEC-C PIC S9(4).
03 PACK-ONE PIC 9(1) VALUE 1 COMP.
03 PACK-A PIC 9(4) VALUE 6 COMP.
03 PACK-B PIC 9(4) VALUE 2 COMP.
03 PACK-C PIC 9(4) COMP.
03 SPACK-A PIC S9(4) VALUE +6 COMP-3.
03 SPACK-B PIC S9(4) VALUE -2 COMP-3.
03 SPACK-C PIC S9(4) COMP-3.
03 TRAIL-A PIC S9(4).
03 TRAIL-B PIC S9(4).
03 TRAIL-C PIC S9(4).
03 CT-TABLE-AREA PIC X(1000) VALUE SPACES.
03 CT-SUBSCRIPTED-TABLE REDEFINES CT-TABLE-AREA.
05 CT-SUBSCRIPTED-ITEM
PIC X OCCURS 1000 TIMES.
03 CT-INDEXED-TABLE REDEFINES CT-TABLE-AREA.
05 CT-INDEXED-ITEM OCCURS 1000 TIMES
ASCENDING KEY CT-INDEX-KEY
INDEXED BY CT-INDEX.
07 CT-INDEX-KEY PIC X.
03 CT-INDEXED-5X-TABLE REDEFINES CT-TABLE-AREA.
05 CT-INDEXED-5X-ITEM OCCURS 200 TIMES
INDEXED BY CT-INDEX-5X.
07 CT-INDEXED-1X-ITEM PIC X.
07 FILLER PIC X(4).
03 CT-SUBSCRIPT PIC 9(6).
03 CONST-000123 PIC 9(6) VALUE 000123.
03 CT-ZERO-SUPPRESSION-FIELD PIC Z(6).
03 CT-ZERO-REPLACEMENT-FIELD PIC X(6).
PROCEDURE DIVISION.
MAIN SECTION.
HOUSEKEEPING.
MOVE 6 TO TRAIL-A.
MOVE -2 TO TRAIL-B.
DISPLAY "DATE MM/DD/YYYY"
ACCEPT ACCEPTED-DATE.
ACCEPT TIME-CHECK FROM TIME.
DISPLAY "WHAT IS YOUR NAME?"
ACCEPT C-ARH-SITE.
* MOVE C-CALC-COUNTER TO CALC-COUNTER.
* MOVE C-IO-COUNTER TO IO-COUNTER.
* MOVE C-DELAY-COUNTER TO DELAY-COUNTER
MOVE C-ARH-SITE TO ARH-SITE.
* MOVE CURRENT-DATE TO ACCEPTED-DATE.
MOVE AYR TO YR.
MOVE AMO TO MO.
MOVE ADA TO DA.
* MOVE TIME-OF-DAY TO TIME-CHECK.
PERFORM TIME-HANDLING.
MOVE AUDIT-TIME TO ARH-TIME.
MOVE ARH-SITE TO APH-SITE.
MOVE ARH-DATE TO APH-DATE.
OPEN OUTPUT AUDIT-FILE.
WRITE AUDIT-REC FROM AUDIT-REPORT-HDR AFTER 10.
ASK-FOR-FUNCTION.
DISPLAY "WHICH FUNCTION?"
DISPLAY "01=EMPTY LOOP"
DISPLAY "02=WRITE BLOCKS"
DISPLAY "03=TEST LOOP"
DISPLAY "04=READ BLOCKS"
DISPLAY "05=GIBSON LOOP"
DISPLAY "06=WRITE RECORDS"
DISPLAY "07=84 LITTLE TESTS"
DISPLAY "08=READ RECORDS"
DISPLAY "09=STOP THIS RUN"
ACCEPT FUNCTION
IF FUNCTION NOT NUMERIC OR FUNCTION > 9
GO TO ASK-FOR-FUNCTION.
IF FUNCTION EQUAL 1 PERFORM ACC-C-COUNT
GO TO TIME-CONTROL-LOOP.
IF FUNCTION EQUAL 2 PERFORM ACC-IO-COUNT
GO TO TIME-WRITE-BLOCKS.
IF FUNCTION EQUAL 3 PERFORM ACC-C-COUNT
GO TO TIME-S-PROFILE-LOOP.
IF FUNCTION EQUAL 4 PERFORM ACC-IO-COUNT
GO TO TIME-READ-BLOCKS.
IF FUNCTION EQUAL 5 PERFORM ACC-C-COUNT
GO TO TIME-GIBSON-LOOP.
IF FUNCTION EQUAL 6 PERFORM ACC-IO-COUNT
GO TO TIME-WRITE-RECORDS.
IF FUNCTION EQUAL 7 PERFORM ACC-C-COUNT
GO TO COMMAND-TIMINGS.
IF FUNCTION EQUAL 8 PERFORM ACC-IO-COUNT
GO TO TIME-READ-RECORDS.
IF FUNCTION EQUAL 9 GO TO STOP-THIS-RUN.
STOP "INVALID FUNCTION CODE".
GO TO STOP-THIS-RUN.
ACC-IO-COUNT.
DISPLAY "PLEASE GIVE NUMBER OF LOOPS".
DISPLAY "XXXXXXXXX".
ACCEPT IO-COUNTER.
IF IO-COUNTER NOT NUMERIC GO TO ACC-IO-COUNT.
ACC-C-COUNT.
DISPLAY "PLEASE GIVE NUMBER OF LOOPS".
DISPLAY "XXXXXXXXX".
ACCEPT CALC-COUNTER.
IF CALC-COUNTER NOT NUMERIC GO TO ACC-C-COUNT.
STARTER-FUNCTION.
ACCEPT START-TIME FROM TIME.
FINISH-LINE-FUNCTION.
ACCEPT STOP-TIME FROM TIME.
PERFORM BUILD-AND-PRINT-AUDIT-LINE.
RETURN-FOR-NEXT-TASK.
GO TO ASK-FOR-FUNCTION.
TIME-CONTROL-LOOP.
MOVE " CONTROL LOOP TIMING" TO AUDIT-REC.
MOVE CALC-COUNTER TO COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
GO TO FINISH-LINE-FUNCTION.
TIME-S-PROFILE-LOOP.
MOVE " S-PROFILE LOOP TIMING" TO AUDIT-REC.
MOVE CALC-COUNTER TO COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
GO TO FINISH-LINE-FUNCTION.
TIME-WRITE-BLOCKS.
OPEN OUTPUT BLOCK-FILE.
MOVE " WRITING BLOCKED RECORDS" TO AUDIT-REC.
MULTIPLY IO-COUNTER BY 10 GIVING COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
PERFORM FINISH-LINE-FUNCTION.
CLOSE BLOCK-FILE.
GO TO ASK-FOR-FUNCTION.
TIME-WRITE-RECORDS.
OPEN OUTPUT RECORD-FILE.
MOVE " WRITING UNBLOCKED RECORDS" TO AUDIT-REC.
MOVE IO-COUNTER TO COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
PERFORM FINISH-LINE-FUNCTION.
CLOSE RECORD-FILE.
GO TO ASK-FOR-FUNCTION.
TIME-READ-BLOCKS.
OPEN INPUT BLOCK-FILE.
MOVE " READING BLOCKED RECORDS" TO AUDIT-REC.
MULTIPLY IO-COUNTER BY 10 GIVING COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
PERFORM FINISH-LINE-FUNCTION.
CLOSE BLOCK-FILE.
GO TO ASK-FOR-FUNCTION.
TIME-READ-RECORDS.
OPEN INPUT RECORD-FILE.
MOVE " READING UNBLOCKED RECORDS" TO AUDIT-REC.
MOVE IO-COUNTER TO COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
PERFORM FINISH-LINE-FUNCTION.
CLOSE RECORD-FILE.
GO TO ASK-FOR-FUNCTION.
TIME-GIBSON-LOOP.
MOVE " GIBSON MIX LOOP TIMING" TO AUDIT-REC.
MOVE CALC-COUNTER TO COUNTER.
PERFORM STARTER-FUNCTION.
PERFORM TIMER-LOOP.
GO TO FINISH-LINE-FUNCTION.
TIMER-LOOP.
IF FUNCTION EQUAL 1 PERFORM CONTROL-LOOP.
IF FUNCTION EQUAL 2 PERFORM WRITE-BLOCKED.
IF FUNCTION EQUAL 3 PERFORM TEST-LOOP.
IF FUNCTION EQUAL 4 PERFORM READ-BLOCKED.
IF FUNCTION EQUAL 5 PERFORM GIBSON-LOOP.
IF FUNCTION EQUAL 6 PERFORM WRITE-UNBLOCKED.
IF FUNCTION EQUAL 7 NEXT SENTENCE.
IF FUNCTION EQUAL 8 PERFORM READ-UNBLOCKED.
ADD 1 TO COUNTER-WORK.
IF COUNTER-WORK LESS THAN COUNTER
GO TO TIMER-LOOP.
MOVE ZERO TO COUNTER-WORK.
TEST-LOOP SECTION.
TEST-LOOP-PARAGRAPH.
PERFORM INITIALIZZ.
GO TO S5.
S1. GO TO S6.
S2. GO TO S1.
S3. GO TO S2.
S4. GO TO S3.
S5. GO TO S4.
S6. PERFORM S7.
PERFORM S8.
PERFORM S9.
CONTROL-LOOP SECTION.
CONTROL-LOOP-PARAGRAPH.
PERFORM INITIALIZZ.
SUBROUTINE SECTION.
INITIALIZZ.
MOVE 123.4 TO N999V9.
MOVE 0 TO NI999V (13).
MOVE 123.4 TO NI999V9 (13).
S7.
MOVE SPACE TO XI1 (I).
MOVE SPACES TO X7.
MOVE SPACES TO X7.
MOVE N999V9 TO E5.
MOVE N999V9 TO E5.
MOVE NI999V9 (I) TO EI5 (I).
MOVE NI999V9 (I) TO NI9999V (I).
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE A10 TO X10.
MOVE 1 TO N999V.
MOVE "A" TO X1.
MOVE "A" TO X1.
MOVE "A" TO X1.
MOVE "A" TO X1.
MOVE "A" TO X1.
MOVE "A" TO X1.
MOVE "ABCDEF" TO X6.
S8.
IF Y7 = SPACES GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF A4 = X4 GO TO S1.
IF N999V = 1 NEXT SENTENCE.
IF N999V = 1 NEXT SENTENCE.
IF N999V = 1 NEXT SENTENCE.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF Y1 = "A" GO TO S1.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
IF X6 = "ABCDEF" NEXT SENTENCE.
S9.
ADD 1 TO N999V.
ADD 1 TO N999V.
ADD 1 TO N999V.
ADD 1 TO N999V.
ADD 1 TO N999V.
ADD 1 TO N999V.
ADD 1 TO N999V.
COMPUTE NI999V9 (I) = NI999V (I) + NI999V9 (I).
COMPUTE N999V9 = N999V + N999V9.
GIBSON-LOOP SECTION.
GIB-LOOP.
PERFORM INITIALIZZ.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6ND GIBB6ND GIVING GIBTMPND.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
ADD GIBA6NP GIBB6NP GIVING GIBTMPNP.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
MOVE GIBA20A TO GIBB20A.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBC6A = GIBB6A
NEXT SENTENCE
ELSE GO TO GIB-LOOP.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
IF GIBA6A = GIBB6A
GO TO GIB-LOOP
ELSE NEXT SENTENCE.
MOVE GIBA7ND TO GIBB6NE.
MOVE GIBA7ND TO GIBB6NE.
MOVE GIBA7ND TO GIBB6NE.
MOVE GIBA7ND TO GIBB6NE.
MOVE GIBA7ND TO GIBB6NE.
MOVE GIBA7ND TO GIBB6NE.
WRITE-BLOCKED SECTION.
CLEAR-BLOCK-REC.
MOVE SPACE TO BLOCK-REC.
WRITE BLOCK-REC.
* CHANGED TO DO CALCULATIONS INSTEAD OF IDLE DELAY
* PERFORM DELAY
PERFORM GIBSON-LOOP.
WRITE-UNBLOCKED SECTION.
CLEAR-RECORD-REC.
MOVE SPACE TO RECORD-REC.
WRITE RECORD-REC.
* CHANGED TO DO CALCULATIONS INSTEAD OF IDLE DELAY
* PERFORM DELAY
PERFORM GIBSON-LOOP.
READ-BLOCKED SECTION.
READ-BLOCK-REC.
READ BLOCK-FILE AT END MOVE ZERO TO FUNCTION.
MOVE SPACE TO BLOCK-REC.
* CHANGED TO DO CALCULATIONS INSTEAD OF IDLE DELAY
* PERFORM DELAY
PERFORM GIBSON-LOOP.
READ-UNBLOCKED SECTION.
READ-RECORD-REC.
READ RECORD-FILE AT END MOVE ZERO TO FUNCTION.
MOVE SPACE TO RECORD-REC.
* CHANGED TO DO CALCULATIONS INSTEAD OF IDLE DELAY
* PERFORM DELAY
PERFORM GIBSON-LOOP.
DELAY SECTION.
DELAY-MOVE.
ADD 1 TO DELAY-WORK.
IF DELAY-WORK LESS THAN DELAY-COUNTER
GO TO DELAY-MOVE.
MOVE ZERO TO DELAY-WORK.
BUILD-AND-PRINT-AUDIT-LINE SECTION.
TIME-HANDLING.
MOVE TIME-TENTHS TO EDITED-TIME.
COMPUTE AUDIT-SECONDS = HRS * 3600 +
MIN * 60 +
SEC + TENTHS.
COMPUTE-ELAPSED.
MOVE COUNTER TO AUDIT-COUNTER.
MOVE AUDIT-TIME TO AUDIT-START-TIME.
MOVE AUDIT-SECONDS TO START-SECONDS.
MOVE STOP-TIME TO TIME-CHECK.
PERFORM TIME-HANDLING.
MOVE AUDIT-TIME TO AUDIT-STOP-TIME.
IF START-SECONDS GREATER THAN AUDIT-SECONDS
ADD 86400 TO AUDIT-SECONDS.
SUBTRACT START-SECONDS FROM AUDIT-SECONDS.
MOVE AUDIT-SECONDS TO AUDIT-ELAPSED-SECS.
MOVE AUDIT-SECONDS TO ELAPSED-SECS.
COMPUTE-MICROSECONDS.
COMPUTE MICROSECONDS ROUNDED = AUDIT-SECONDS * 1000000
/ COUNTER.
MOVE MICROSECONDS TO AUDIT-MICS-PER-ITER.
PRINT-AUDIT-LINE.
IF LINE-COUNT IS NOT LESS THAN LINE-LIMIT
MOVE AUDIT-REC TO AUDIT-REC-HOLD
MOVE 2 TO LINE-COUNT
ADD 1 TO PAGE-COUNT
MOVE PAGE-COUNT TO APH-PAGE
WRITE AUDIT-REC FROM AUDIT-PAGE-HDR AFTER PAGE
WRITE AUDIT-REC FROM AUDIT-COLUMN-HDR-1 AFTER 2
WRITE AUDIT-REC FROM AUDIT-COLUMN-HDR-2 AFTER 1
WRITE AUDIT-REC FROM AUDIT-REC-HOLD AFTER 2
ELSE
WRITE AUDIT-REC AFTER 2
ADD 2 TO LINE-COUNT.
STOP-THIS-RUN SECTION.
SIGN-OFF-ON-AUDIT-LIST.
MOVE AYR TO YR.
MOVE AMO TO MO.
MOVE ADA TO DA.
ACCEPT TIME-CHECK FROM TIME.
PERFORM TIME-HANDLING.
MOVE AUDIT-TIME TO ARH-TIME.
MOVE "COMPLETION OF SESSION ON " TO ARH-BEG-END.
MOVE AUDIT-REPORT-HDR TO AUDIT-REC.
PERFORM PRINT-AUDIT-LINE.
CLOSE AUDIT-FILE.
STOP RUN.
COMMAND-TIMINGS SECTION.
INIT-COMMAND-TIMINGS.
MOVE 1 TO CT-TEST-NBR.
MOVE CALC-COUNTER TO COUNTER.
MOVE COUNTER TO ITER-COUNTER.
PERFORM INITIALIZZ.
MOVE ZERO TO CT-CALCULATED-S-PROFILE.
INIT-COMMAND-TIMING-LOOP.
MOVE ZERO TO COUNTER-WORK.
MOVE COMMAND-TIMING-DESC (CT-TEST-NBR) TO AUDIT-REC.
IF CT-TEST-NBR EQUAL 01 ALTER CT-LOOP TO CT-TEST-01.
IF CT-TEST-NBR EQUAL 02 ALTER CT-LOOP TO CT-TEST-02.
IF CT-TEST-NBR EQUAL 03 ALTER CT-LOOP TO CT-TEST-03.
IF CT-TEST-NBR EQUAL 04 ALTER CT-LOOP TO CT-TEST-04.
IF CT-TEST-NBR EQUAL 05 ALTER CT-LOOP TO CT-TEST-05.
IF CT-TEST-NBR EQUAL 06 ALTER CT-LOOP TO CT-TEST-06.
IF CT-TEST-NBR EQUAL 07 ALTER CT-LOOP TO CT-TEST-07.
IF CT-TEST-NBR EQUAL 08 ALTER CT-LOOP TO CT-TEST-08.
IF CT-TEST-NBR EQUAL 09 ALTER CT-LOOP TO CT-TEST-09.
IF CT-TEST-NBR EQUAL 10 ALTER CT-LOOP TO CT-TEST-10.
IF CT-TEST-NBR EQUAL 11 ALTER CT-LOOP TO CT-TEST-11.
IF CT-TEST-NBR EQUAL 12 ALTER CT-LOOP TO CT-TEST-12.
IF CT-TEST-NBR EQUAL 13 ALTER CT-LOOP TO CT-TEST-13.
IF CT-TEST-NBR EQUAL 14 ALTER CT-LOOP TO CT-TEST-14.
IF CT-TEST-NBR EQUAL 15 ALTER CT-LOOP TO CT-TEST-15.
IF CT-TEST-NBR EQUAL 16 ALTER CT-LOOP TO CT-TEST-16.
IF CT-TEST-NBR EQUAL 17 ALTER CT-LOOP TO CT-TEST-17.
IF CT-TEST-NBR EQUAL 18 ALTER CT-LOOP TO CT-TEST-18.
IF CT-TEST-NBR EQUAL 19 ALTER CT-LOOP TO CT-TEST-19.
IF CT-TEST-NBR EQUAL 20 ALTER CT-LOOP TO CT-TEST-20.
IF CT-TEST-NBR EQUAL 21 ALTER CT-LOOP TO CT-TEST-21.
IF CT-TEST-NBR EQUAL 22 ALTER CT-LOOP TO CT-TEST-22.
IF CT-TEST-NBR EQUAL 23 ALTER CT-LOOP TO CT-TEST-23.
IF CT-TEST-NBR EQUAL 24 ALTER CT-LOOP TO CT-TEST-24.
IF CT-TEST-NBR EQUAL 25 ALTER CT-LOOP TO CT-TEST-25.
IF CT-TEST-NBR EQUAL 26 ALTER CT-LOOP TO CT-TEST-26.
IF CT-TEST-NBR EQUAL 27 ALTER CT-LOOP TO CT-TEST-27.
IF CT-TEST-NBR EQUAL 28 ALTER CT-LOOP TO CT-TEST-28.
IF CT-TEST-NBR EQUAL 29 ALTER CT-LOOP TO CT-TEST-29.
IF CT-TEST-NBR EQUAL 30 ALTER CT-LOOP TO CT-TEST-30.
IF CT-TEST-NBR EQUAL 31 ALTER CT-LOOP TO CT-TEST-31.
IF CT-TEST-NBR EQUAL 32 ALTER CT-LOOP TO CT-TEST-32.
IF CT-TEST-NBR EQUAL 33 ALTER CT-LOOP TO CT-TEST-33.
IF CT-TEST-NBR EQUAL 34 ALTER CT-LOOP TO CT-TEST-34.
IF CT-TEST-NBR EQUAL 35 ALTER CT-LOOP TO CT-TEST-35.
IF CT-TEST-NBR EQUAL 36 ALTER CT-LOOP TO CT-TEST-36.
IF CT-TEST-NBR EQUAL 37 ALTER CT-LOOP TO CT-TEST-37.
IF CT-TEST-NBR EQUAL 38 ALTER CT-LOOP TO CT-TEST-38.
IF CT-TEST-NBR EQUAL 39 ALTER CT-LOOP TO CT-TEST-39.
IF CT-TEST-NBR EQUAL 40 ALTER CT-LOOP TO CT-TEST-40.
IF CT-TEST-NBR EQUAL 41 ALTER CT-LOOP TO CT-TEST-41.
IF CT-TEST-NBR EQUAL 42 ALTER CT-LOOP TO CT-TEST-42.
IF CT-TEST-NBR EQUAL 43 ALTER CT-LOOP TO CT-TEST-43.
IF CT-TEST-NBR EQUAL 44 ALTER CT-LOOP TO CT-TEST-44.
IF CT-TEST-NBR EQUAL 45 ALTER CT-LOOP TO CT-TEST-45.
IF CT-TEST-NBR EQUAL 46 ALTER CT-LOOP TO CT-TEST-46.
IF CT-TEST-NBR EQUAL 47 ALTER CT-LOOP TO CT-TEST-47.
IF CT-TEST-NBR EQUAL 48 ALTER CT-LOOP TO CT-TEST-48.
IF CT-TEST-NBR EQUAL 49 ALTER CT-LOOP TO CT-TEST-49.
IF CT-TEST-NBR EQUAL 50 ALTER CT-LOOP TO CT-TEST-50.
IF CT-TEST-NBR EQUAL 51 ALTER CT-LOOP TO CT-TEST-51.
IF CT-TEST-NBR EQUAL 52 ALTER CT-LOOP TO CT-TEST-52.
IF CT-TEST-NBR EQUAL 53 ALTER CT-LOOP TO CT-TEST-53.
IF CT-TEST-NBR EQUAL 54 ALTER CT-LOOP TO CT-TEST-54.
IF CT-TEST-NBR EQUAL 55 ALTER CT-LOOP TO CT-TEST-55.
IF CT-TEST-NBR EQUAL 56 ALTER CT-LOOP TO CT-TEST-56.
IF CT-TEST-NBR EQUAL 57 ALTER CT-LOOP TO CT-TEST-57.
IF CT-TEST-NBR EQUAL 58 ALTER CT-LOOP TO CT-TEST-58.
IF CT-TEST-NBR EQUAL 59 ALTER CT-LOOP TO CT-TEST-59.
IF CT-TEST-NBR EQUAL 60 ALTER CT-LOOP TO CT-TEST-60.
IF CT-TEST-NBR EQUAL 61 ALTER CT-LOOP TO CT-TEST-61.
IF CT-TEST-NBR EQUAL 62 ALTER CT-LOOP TO CT-TEST-62.
IF CT-TEST-NBR EQUAL 63 ALTER CT-LOOP TO CT-TEST-63.
IF CT-TEST-NBR EQUAL 64 ALTER CT-LOOP TO CT-TEST-64.
IF CT-TEST-NBR EQUAL 65 ALTER CT-LOOP TO CT-TEST-65.
IF CT-TEST-NBR EQUAL 66 ALTER CT-LOOP TO CT-TEST-66.
IF CT-TEST-NBR EQUAL 67 ALTER CT-LOOP TO CT-TEST-67.
IF CT-TEST-NBR EQUAL 68 ALTER CT-LOOP TO CT-TEST-68.
IF CT-TEST-NBR EQUAL 69 ALTER CT-LOOP TO CT-TEST-69.
IF CT-TEST-NBR EQUAL 70 ALTER CT-LOOP TO CT-TEST-70.
IF CT-TEST-NBR EQUAL 71 ALTER CT-LOOP TO CT-TEST-71.
IF CT-TEST-NBR EQUAL 72 ALTER CT-LOOP TO CT-TEST-72.
IF CT-TEST-NBR EQUAL 73 ALTER CT-LOOP TO CT-TEST-73.
IF CT-TEST-NBR EQUAL 74 ALTER CT-LOOP TO CT-TEST-74.
IF CT-TEST-NBR EQUAL 75 ALTER CT-LOOP TO CT-TEST-75.
IF CT-TEST-NBR EQUAL 76 ALTER CT-LOOP TO CT-TEST-76.
IF CT-TEST-NBR EQUAL 77 ALTER CT-LOOP TO CT-TEST-77.
IF CT-TEST-NBR EQUAL 78 ALTER CT-LOOP TO CT-TEST-78.
IF CT-TEST-NBR EQUAL 79 ALTER CT-LOOP TO CT-TEST-79.
IF CT-TEST-NBR EQUAL 80 ALTER CT-LOOP TO CT-TEST-80.
IF CT-TEST-NBR EQUAL 81 ALTER CT-LOOP TO CT-TEST-81.
IF CT-TEST-NBR EQUAL 82 ALTER CT-LOOP TO CT-TEST-82.
IF CT-TEST-NBR EQUAL 83 ALTER CT-LOOP TO CT-TEST-83.
IF CT-TEST-NBR EQUAL 84 ALTER CT-LOOP TO CT-TEST-84.
IF CT-COUNTER-FACTOR-FIELD (CT-TEST-NBR) NOT EQUAL SPACE
MULTIPLY CT-COUNTER-FACTOR (CT-TEST-NBR) BY ITER-COUNTER
GIVING COUNTER.
ACCEPT START-TIME FROM TIME.
CT-LOOP.
GO TO CT-TEST-01.
CT-TEST-RETURN.
ADD 1 TO COUNTER-WORK.
IF COUNTER-WORK LESS THAN COUNTER
GO TO CT-LOOP.
MOVE ZERO TO COUNTER-WORK.
ACCEPT STOP-TIME FROM TIME.
PERFORM TIME-HANDLING THRU COMPUTE-ELAPSED.
IF CT-CONTROL-LOOP-FLAG (CT-TEST-NBR) EQUAL "Y"
MOVE AUDIT-SECONDS TO CT-CONTROL-TIME.
SUBTRACT CT-CONTROL-TIME FROM AUDIT-SECONDS.
PERFORM COMPUTE-MICROSECONDS.
PERFORM PRINT-AUDIT-LINE.
COMPUTE CT-CALCULATED-S-PROFILE =
CT-CALCULATED-S-PROFILE +
(CT-S-PROFILE-COUNT (CT-TEST-NBR) * MICROSECONDS).
CT-SET-FOR-NEXT-TEST.
IF CT-TEST-NBR IS LESS THAN CT-NBR-OF-TESTS
ADD 1 TO CT-TEST-NBR
GO TO INIT-COMMAND-TIMING-LOOP.
MOVE ITER-COUNTER TO COUNTER.
GO TO ASK-FOR-FUNCTION.
CT-INVALID-TEST.
MOVE "(TEST NOT APPLICABLE" TO AUDIT-START-TIME.
MOVE " TO THIS COMPUTER)" TO AUDIT-STOP-TIME.
PERFORM PRINT-AUDIT-LINE.
GO TO CT-SET-FOR-NEXT-TEST.
* CTL LOOP FOR COMMAND TIMINGS
CT-TEST-01.
GO TO CT-TEST-RETURN.
* 'GO TO XX'
CT-TEST-02.
GO TO CT-TEST-01.
* 'MOVE SPACE TO XI1 (IQ8
CT-TEST-03.
MOVE SPACE TO XI1 (I).
GO TO CT-TEST-RETURN.
* 'MOVE SPACES TO X7'
CT-TEST-04.
MOVE SPACES TO X7.
GO TO CT-TEST-RETURN.
* 'MOVE N999V9 TO E5'
CT-TEST-05.
MOVE N999V9 TO E5.
GO TO CT-TEST-RETURN.
* 'MOVE NI999V9(I) TO EI5 (I)'
CT-TEST-06.
MOVE NI999V9 (I) TO EI5 (I).
GO TO CT-TEST-RETURN.
* 'MOVE NI999V9 (I) TO NI9999V (I)'
CT-TEST-07.
MOVE NI999V9 (I) TO NI9999V (I).
GO TO CT-TEST-RETURN.
* 'MOVE A10 TO X10'
CT-TEST-08.
MOVE A10 TO X10.
GO TO CT-TEST-RETURN.
* 'MOVE 1 TO N999V'
CT-TEST-09.
MOVE 1 TO N999V.
GO TO CT-TEST-RETURN.
* 'MOVE "A" TO X1'
CT-TEST-10.
MOVE "A" TO X1.
GO TO CT-TEST-RETURN.
* 'MOVE "ABCDEF" TO X6'
CT-TEST-11.
MOVE "ABCDEF" TO X6.
GO TO CT-TEST-RETURN.
* 'IF Y7 = SPACES GO TO S1'
CT-TEST-12.
IF Y7 = SPACES GO TO S1.
GO TO CT-TEST-RETURN.
* 'IF A4 = X4 GO TO S1'
CT-TEST-13.
IF A4 = X4 GO TO S1.
GO TO CT-TEST-RETURN.
* 'IF N999V = 1 NEXT SENTENCE'
CT-TEST-14.
IF N999V = 1 NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF Y1 = "A" GO TO S1'
CT-TEST-15.
IF Y1 = "A" GO TO S1.
GO TO CT-TEST-RETURN.
* 'IF X6 = "ABCDEF" NEXT SENTENCE'
CT-TEST-16.
IF X6 = "ABCDEF" NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* CNT LOOP 'ADD 1 TO -999V9'
CT-TEST-17.
MOVE DEC-A TO N999V9.
GO TO CT-TEST-RETURN.
* 'ADD 1 TO N999V'
CT-TEST-18.
MOVE DEC-A TO N999V9.
ADD 1 TO N999V.
GO TO CT-TEST-RETURN.
* CNT LOOP 'COMPUTE NI999V9 (I)'
CT-TEST-19.
MOVE DEC-123V4 TO NI999V9 (I).
GO TO CT-TEST-RETURN.
* 'COMPUTE NI999V9 (I) = ...'
CT-TEST-20.
MOVE DEC-123V4 TO NI999V9 (I).
COMPUTE NI999V9 (I) = NI999V (I) + NI999V9 (I).
GO TO CT-TEST-RETURN.
* CNT LOOP 'COMPUTE N99909'
CT-TEST-21.
MOVE DEC-123V4 TO N999V9.
GO TO CT-TEST-RETURN.
* 'COMPUTE N999V9 = N999V + ...'
CT-TEST-22.
MOVE DEC-123V4 TO N999V9.
COMPUTE N999V9 = N999V + N999V9.
GO TO CT-TEST-RETURN.
* CTL LOOP FOR PERFORM STMTS
CT-TEST-23.
MOVE Y1 TO X1.
GO TO CT-TEST-RETURN.
* 'PERFORM XX'
CT-TEST-24.
PERFORM CT-TEST-24-A.
GO TO CT-TEST-RETURN.
CT-TEST-24-A.
MOVE Y1 TO X1.
* CALCULATED S-PROFILE (PRINT IT)
CT-TEST-25.
MOVE CT-CALCULATED-S-PROFILE TO AUDIT-MICS-PER-ITER.
PERFORM PRINT-AUDIT-LINE.
GO TO CT-SET-FOR-NEXT-TEST.
* (CLEAR COUNTERS, INIT AREAS)
CT-TEST-26.
MOVE 1 TO CT-SUBSCRIPT.
SET CT-INDEX TO 1.
SET CT-INDEX-5X TO 1.
GO TO CT-SET-FOR-NEXT-TEST.
* CNT LOOP 'ADD 1 TO BIN-COUNT'
CT-TEST-27.
MOVE ZERO TO BIN-COUNT.
GO TO CT-TEST-RETURN.
* 'ADD 1 TO BIN-COUNT'
CT-TEST-28.
MOVE ZERO TO BIN-COUNT.
ADD 1 TO BIN-COUNT.
GO TO CT-TEST-RETURN.
* CNT LOOP 'ADD 1 TO DEC-COUNT'
CT-TEST-29.
MOVE ZERO TO DEC-COUNT.
GO TO CT-TEST-RETURN.
* 'ADD 1 TO DEC-COUNT'
CT-TEST-30.
MOVE ZERO TO DEC-COUNT.
ADD 1 TO DEC-COUNT.
GO TO CT-TEST-RETURN.
* CNT LOOP 'ADD BIN-ONE TO BIN-CNT'
CT-TEST-31.
MOVE ZERO TO BIN-COUNT.
GO TO CT-TEST-RETURN.
* 'ADD BIN-ONE TO BIN-COUNT'
CT-TEST-32.
MOVE ZERO TO BIN-COUNT.
ADD BIN-ONE TO BIN-COUNT.
GO TO CT-TEST-RETURN.
* CNT LOOP 'ADD DEC-ONE TO DEC-C-T'
CT-TEST-33.
MOVE ZERO TO DEC-COUNT.
GO TO CT-TEST-RETURN.
* 'ADD DEC-ONE TO DEC-COUNT'
CT-TEST-34.
MOVE ZERO TO DEC-COUNT.
ADD DEC-ONE TO DEC-COUNT.
GO TO CT-TEST-RETURN.
* CNT LOOP 'MOVE TO INDEXED ITEM'
CT-TEST-35.
GO TO CT-TEST-RETURN.
* 'MOVE X1 TO CT-SUBSCRIPTED-ITEM'
CT-TEST-36.
MOVE X1 TO CT-SUBSCRIPTED-ITEM (CT-SUBSCRIPT).
GO TO CT-TEST-RETURN.
* 'MOVE X1 TO CT-INDEXED-ITEM'
CT-TEST-37.
MOVE X1 TO CT-INDEXED-ITEM (CT-INDEX).
GO TO CT-TEST-RETURN.
* CNT LOOP 'SET INDEX UP'
CT-TEST-38.
SET CT-INDEX TO DEC-ONE.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX UP BY 1'
CT-TEST-39.
SET CT-INDEX TO DEC-ONE.
SET CT-INDEX UP BY 1.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX UP BY BIN-ONE'
CT-TEST-40.
SET CT-INDEX TO DEC-ONE.
SET CT-INDEX UP BY BIN-ONE.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX UP BY DEC-ONE'
CT-TEST-41.
SET CT-INDEX TO DEC-ONE.
SET CT-INDEX UP BY DEC-ONE.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX UP BY PACK-ONE'
CT-TEST-42.
SET CT-INDEX TO DEC-ONE.
SET CT-INDEX UP BY PACK-ONE.
GO TO CT-TEST-RETURN.
* CNT LOOP 'MOVE TO INDEXED ITEM'
CT-TEST-43.
GO TO CT-TEST-RETURN.
* 'MOVE X1 TO CT-INDEXED-1X(SUB)'
CT-TEST-44.
MOVE X1 TO CT-INDEXED-1X-ITEM (CT-SUBSCRIPT).
GO TO CT-TEST-RETURN.
* 'MOVE X1 TO CT-INDEXED-1X(INDX)'
CT-TEST-45.
MOVE X1 TO CT-INDEXED-1X-ITEM (CT-INDEX-5X).
GO TO CT-TEST-RETURN.
* CNT LOOP 'SET INDEX-5X UP'
CT-TEST-46.
SET CT-INDEX-5X TO DEC-ONE.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX-5X UP BY 1'
CT-TEST-47.
SET CT-INDEX-5X TO DEC-ONE.
SET CT-INDEX-5X UP BY 1.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX-5X UP BY BIN-ONE'
CT-TEST-48.
SET CT-INDEX-5X TO DEC-ONE.
SET CT-INDEX-5X UP BY BIN-ONE.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX-5X UP BY DEC-ONE'
CT-TEST-49.
SET CT-INDEX-5X TO DEC-ONE.
SET CT-INDEX-5X UP BY DEC-ONE.
GO TO CT-TEST-RETURN.
* 'SET CT-INDEX-5X UP BY PACK-ONE'
CT-TEST-50.
* CONTROL-LOOP - MISC COMMANDS
SET CT-INDEX-5X TO DEC-ONE.
SET CT-INDEX-5X UP BY PACK-ONE.
GO TO CT-TEST-RETURN.
CT-TEST-51.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX = 1 NEXT SENT'
CT-TEST-52.
IF CT-INDEX = 1 NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX = BIN-ONE NEXT SENT'
CT-TEST-53.
IF CT-INDEX = BIN-ONE NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX = DEC-ONE NEXT SENT'
CT-TEST-54.
IF CT-INDEX = DEC-ONE NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX = PACK-ONE N/S'
CT-TEST-55.
IF CT-INDEX = PACK-ONE NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX-5X = 1 N/S'
CT-TEST-56.
IF CT-INDEX-5X = 1 NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX-5X = BIN-ONE N/S'
CT-TEST-57.
IF CT-INDEX-5X = BIN-ONE NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX-5X = DEC-ONE N/S'
CT-TEST-58.
IF CT-INDEX-5X = DEC-ONE NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'IF CT-INDEX-5X = PACK-ONE N/S'
CT-TEST-59.
IF CT-INDEX-5X = PACK-ONE NEXT SENTENCE.
GO TO CT-TEST-RETURN.
* 'DECIMAL COMPUTE C = A + B'
CT-TEST-60.
COMPUTE DEC-C = DEC-A + DEC-B.
GO TO CT-TEST-RETURN.
* 'DECIMAL ADDITION'
CT-TEST-61.
ADD DEC-A DEC-B GIVING DEC-C.
GO TO CT-TEST-RETURN.
* 'BINARY ADDITION'
CT-TEST-62.
ADD BIN-A BIN-B GIVING BIN-C.
GO TO CT-TEST-RETURN.
* 'PACKED DECIMAL ADDITION'
CT-TEST-63.
ADD PACK-A PACK-B GIVING PACK-C.
GO TO CT-TEST-RETURN.
* 'PACKED SIGNED DECIMAL ADDITION'
CT-TEST-64.
ADD SPACK-A SPACK-B GIVING SPACK-C.
GO TO CT-TEST-RETURN.
* 'TRAILING SIGN ADDITION'
CT-TEST-65.
ADD TRAIL-A TRAIL-B GIVING TRAIL-C.
GO TO CT-TEST-RETURN.
* 'FLOATING-POINT ADDITION'
CT-TEST-66.
GO TO CT-INVALID-TEST.
* ADD FLTPT-A FLTPT-B GIVING FLTPT-C.
* GO TO CT-TEST-RETURN.
* 'DECIMAL COMPUTE C = A * B'
CT-TEST-67.
COMPUTE DEC-C = DEC-A * DEC-B.
GO TO CT-TEST-RETURN.
* 'DECIMAL MULTIPLICATION'
CT-TEST-68.
MULTIPLY DEC-A BY DEC-B GIVING DEC-C.
GO TO CT-TEST-RETURN.
* 'BINARY MULTIPLICATION'
CT-TEST-69.
MULTIPLY BIN-A BY BIN-B GIVING BIN-C.
GO TO CT-TEST-RETURN.
* 'PACKED DECIMAL MULTIPLICATION'
CT-TEST-70.
MULTIPLY PACK-A BY PACK-B GIVING PACK-C.
GO TO CT-TEST-RETURN.
* 'PACKED SIGNED DEC MULT'
CT-TEST-71.
MULTIPLY SPACK-A BY SPACK-B GIVING SPACK-C.
GO TO CT-TEST-RETURN.
* 'TRAILING SIGN MULTIPLICATION'
CT-TEST-72.
MULTIPLY TRAIL-A BY TRAIL-B GIVING TRAIL-C.
GO TO CT-TEST-RETURN.
* 'FLOATING-POINT MULTIPLICATION'
CT-TEST-73.
GO TO CT-INVALID-TEST.
* MULTIPLY FLTPT-A BY FLTPT-B GIVING FLTPT-C.
* GO TO CT-TEST-RETURN.
* 'DECIMAL COMPUTE C = A / B'
CT-TEST-74.
COMPUTE DEC-C = DEC-A / DEC-B.
GO TO CT-TEST-RETURN.
* 'DECIMAL DEVISION'
CT-TEST-75.
DIVIDE DEC-A BY DEC-B GIVING DEC-C.
GO TO CT-TEST-RETURN.
* 'BINARY DIVISION'
CT-TEST-76.
DIVIDE BIN-A BY BIN-B GIVING BIN-C.
GO TO CT-TEST-RETURN.
* 'PACKED DECIMAL DIVISION'
CT-TEST-77.
DIVIDE PACK-A BY PACK-B GIVING PACK-C.
GO TO CT-TEST-RETURN.
* 'PACKED SIGNED DEC DIV'
CT-TEST-78.
DIVIDE SPACK-A BY SPACK-B GIVING SPACK-C.
GO TO CT-TEST-RETURN.
* 'TRAILING SIGN DIVISION'
CT-TEST-79.
DIVIDE TRAIL-A BY TRAIL-B GIVING TRAIL-C.
GO TO CT-TEST-RETURN.
* 'FLOATING-POINT DIVISION'
CT-TEST-80.
GO TO CT-INVALID-TEST.
* DIVIDE FLTPT-A BY FLTPT-B GIVING FLTPT-C.
* GO TO CT-TEST-RETURN.
* 'MIXED USAGE ADDITION'
CT-TEST-81.
ADD DEC-A BIN-B GIVING PACK-C.
GO TO CT-TEST-RETURN.
* 'MOVE TO ZERO-SUPPRESSED FLD'
CT-TEST-82.
MOVE CONST-000123 TO CT-ZERO-SUPPRESSION-FIELD.
GO TO CT-TEST-RETURN.
* 'MOVE TO ALPHANUMERIC'
CT-TEST-83.
MOVE CONST-000123 TO CT-ZERO-REPLACEMENT-FIELD.
GO TO CT-TEST-RETURN.
* 'REPLACE LEADING ZERO BY SPACE'
CT-TEST-84.
MOVE CONST-000123 TO CT-ZERO-REPLACEMENT-FIELD.
INSPECT CT-ZERO-REPLACEMENT-FIELD
REPLACING LEADING ZERO BY SPACE.
GO TO CT-TEST-RETURN.